<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.4"/>
<title>Mine Sweeper Clone: Riferimenti per il file debug.h</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Mine Sweeper Clone
   &#160;<span id="projectnumber">0.9</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generato da Doxygen 1.8.4 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Cerca');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Pagina&#160;Principale</span></a></li>
      <li><a href="pages.html"><span>Pagine&#160;collegate</span></a></li>
      <li><a href="annotated.html"><span>Classi</span></a></li>
      <li class="current"><a href="files.html"><span>File</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Cerca" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>Elenco&#160;dei&#160;file</span></a></li>
      <li><a href="globals.html"><span>Elementi&#160;dei&#160;file</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>Tutto</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classi</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>File</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Funzioni</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variabili</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Tipi enumerati (enum)</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Valori del tipo enumerato</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Definizioni</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pagine</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">Definizioni</a> &#124;
<a href="#var-members">Variabili</a>  </div>
  <div class="headertitle">
<div class="title">Riferimenti per il file debug.h</div>  </div>
</div><!--header-->
<div class="contents">

<p>Header file contenente la gestione delle funzioni e delle macro per il debug.  
<a href="#details">Continua...</a></p>
<div class="textblock"><code>#include &lt;iostream&gt;</code><br/>
<code>#include &lt;assert.h&gt;</code><br/>
</div>
<p><a href="debug_8h_source.html">Vai al codice sorgente di questo file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Definizioni</h2></td></tr>
<tr class="memitem:a8de3ed741dadc9c979a4ff17c0a9116e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a8de3ed741dadc9c979a4ff17c0a9116e">NDEBUG</a></td></tr>
<tr class="separator:a8de3ed741dadc9c979a4ff17c0a9116e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85c96ad092e1c9d598b3c2405e1ea422"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a85c96ad092e1c9d598b3c2405e1ea422">DEB</a>(A, B)</td></tr>
<tr class="memdesc:a85c96ad092e1c9d598b3c2405e1ea422"><td class="mdescLeft">&#160;</td><td class="mdescRight">MACRO - Macro principale per la gestione dei livelli di debug.  <a href="#a85c96ad092e1c9d598b3c2405e1ea422">Continua...</a><br/></td></tr>
<tr class="separator:a85c96ad092e1c9d598b3c2405e1ea422"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9146db11563642bd6ca3c77f990fa59e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a9146db11563642bd6ca3c77f990fa59e">DBG_FUNCNAME</a>(C, D)&#160;&#160;&#160;<a class="el" href="debug_8h.html#a85c96ad092e1c9d598b3c2405e1ea422">DEB</a>(1, cout &lt;&lt; &quot;[&quot; &lt;&lt; C &lt;&lt; &quot;] &quot; &lt;&lt; D &lt;&lt; &quot;\n&quot;)</td></tr>
<tr class="memdesc:a9146db11563642bd6ca3c77f990fa59e"><td class="mdescLeft">&#160;</td><td class="mdescRight">MACRO - Visualizza il nome della funzione ed una breve descrizione.  <a href="#a9146db11563642bd6ca3c77f990fa59e">Continua...</a><br/></td></tr>
<tr class="separator:a9146db11563642bd6ca3c77f990fa59e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6313a42e54d10ddbc5be1fe5091ec5ca"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a6313a42e54d10ddbc5be1fe5091ec5ca">DBG_BLOCDESC</a>(C)&#160;&#160;&#160;<a class="el" href="debug_8h.html#a85c96ad092e1c9d598b3c2405e1ea422">DEB</a>(2, cout &lt;&lt; &quot;    &quot; &lt;&lt; C &lt;&lt; &quot;\n&quot;)</td></tr>
<tr class="memdesc:a6313a42e54d10ddbc5be1fe5091ec5ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">MACRO - Visualizza descrizione blocco.  <a href="#a6313a42e54d10ddbc5be1fe5091ec5ca">Continua...</a><br/></td></tr>
<tr class="separator:a6313a42e54d10ddbc5be1fe5091ec5ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ef6c3e172a42f6f545308c917a71c7c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a0ef6c3e172a42f6f545308c917a71c7c">DBG_GENERIC</a>(C)&#160;&#160;&#160;<a class="el" href="debug_8h.html#a85c96ad092e1c9d598b3c2405e1ea422">DEB</a>(4, cout &lt;&lt; &quot;      &quot; &lt;&lt; C &lt;&lt; &quot;\n&quot;)</td></tr>
<tr class="memdesc:a0ef6c3e172a42f6f545308c917a71c7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">MACRO - Visualizza informazioni generiche.  <a href="#a0ef6c3e172a42f6f545308c917a71c7c">Continua...</a><br/></td></tr>
<tr class="separator:a0ef6c3e172a42f6f545308c917a71c7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variabili</h2></td></tr>
<tr class="memitem:a0fbe685a47e765bade6203c9a6a41ea3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a0fbe685a47e765bade6203c9a6a41ea3">MASK</a></td></tr>
<tr class="memdesc:a0fbe685a47e765bade6203c9a6a41ea3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maschera per abilitare i vari livelli di debug (definita in <a class="el" href="minesweeperclone_8cc.html" title="Modulo contenente principalmente la funzione main, la gestione degli eventi dei widgets utilizzati da...">minesweeperclone.cc</a>)  <a href="#a0fbe685a47e765bade6203c9a6a41ea3">Continua...</a><br/></td></tr>
<tr class="separator:a0fbe685a47e765bade6203c9a6a41ea3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Descrizione dettagliata</h2>
<div class="textblock"><p>Header file contenente la gestione delle funzioni e delle macro per il debug. </p>
<p>Nel modulo sono presenti dei livelli di debug abilitabili settando i relativi bit nella variabile MASK:</p>
<ul>
<li>bit 0001: <a class="el" href="debug_8h.html#a9146db11563642bd6ca3c77f990fa59e" title="MACRO - Visualizza il nome della funzione ed una breve descrizione. ">DBG_FUNCNAME</a> visualizza il nome della funzione ed una breve descrizione</li>
<li>bit 0010: <a class="el" href="debug_8h.html#a6313a42e54d10ddbc5be1fe5091ec5ca" title="MACRO - Visualizza descrizione blocco. ">DBG_BLOCDESC</a> visualizza la descrizione del blocco</li>
<li>bit 0100: <a class="el" href="debug_8h.html#a0ef6c3e172a42f6f545308c917a71c7c" title="MACRO - Visualizza informazioni generiche. ">DBG_GENERIC</a> visualizza informazioni generiche</li>
</ul>
<dl class="section note"><dt>Nota</dt><dd>Il modulo si può attivare definendo la direttiva <b>DEBUG_MODE</b> tramite una di queste modalità:<ul>
<li>si tira via il commento davanti alla definizione <b>DEBUG_MODE</b> presente nel file debug_data.h;</li>
<li>si inserisce il parametro <b>-D DEBUG_MODE</b> nella riga di commando di compilazione;</li>
<li>si compila il software tramite il commando<div class="fragment"><div class="line">make debug </div>
</div><!-- fragment -->. </li>
</ul>
</dd></dl>
</div><h2 class="groupheader">Documentazione delle definizioni</h2>
<a class="anchor" id="a6313a42e54d10ddbc5be1fe5091ec5ca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DBG_BLOCDESC</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">C)</td><td></td>
          <td>&#160;&#160;&#160;<a class="el" href="debug_8h.html#a85c96ad092e1c9d598b3c2405e1ea422">DEB</a>(2, cout &lt;&lt; &quot;    &quot; &lt;&lt; C &lt;&lt; &quot;\n&quot;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>MACRO - Visualizza descrizione blocco. </p>
<p>Per abilitare il livello impostare il bit 0010 della variabile <a class="el" href="minesweeperclone_8cc.html#a0fbe685a47e765bade6203c9a6a41ea3" title="Maschera per abilitare i vari livelli di debug (definita in minesweeperclone.cc) ">MASK</a>. </p>

</div>
</div>
<a class="anchor" id="a9146db11563642bd6ca3c77f990fa59e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DBG_FUNCNAME</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">C, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">D&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="debug_8h.html#a85c96ad092e1c9d598b3c2405e1ea422">DEB</a>(1, cout &lt;&lt; &quot;[&quot; &lt;&lt; C &lt;&lt; &quot;] &quot; &lt;&lt; D &lt;&lt; &quot;\n&quot;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>MACRO - Visualizza il nome della funzione ed una breve descrizione. </p>
<p>Per abilitare il livello impostare il bit 0001 della variabile <a class="el" href="minesweeperclone_8cc.html#a0fbe685a47e765bade6203c9a6a41ea3" title="Maschera per abilitare i vari livelli di debug (definita in minesweeperclone.cc) ">MASK</a>. </p>

</div>
</div>
<a class="anchor" id="a0ef6c3e172a42f6f545308c917a71c7c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DBG_GENERIC</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">C)</td><td></td>
          <td>&#160;&#160;&#160;<a class="el" href="debug_8h.html#a85c96ad092e1c9d598b3c2405e1ea422">DEB</a>(4, cout &lt;&lt; &quot;      &quot; &lt;&lt; C &lt;&lt; &quot;\n&quot;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>MACRO - Visualizza informazioni generiche. </p>
<p>Per abilitare il livello impostare il bit 0100 della variabile <a class="el" href="minesweeperclone_8cc.html#a0fbe685a47e765bade6203c9a6a41ea3" title="Maschera per abilitare i vari livelli di debug (definita in minesweeperclone.cc) ">MASK</a>. </p>

</div>
</div>
<a class="anchor" id="a85c96ad092e1c9d598b3c2405e1ea422"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DEB</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">A, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">B&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>MACRO - Macro principale per la gestione dei livelli di debug. </p>

</div>
</div>
<a class="anchor" id="a8de3ed741dadc9c979a4ff17c0a9116e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NDEBUG</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Documentazione delle variabili</h2>
<a class="anchor" id="a0fbe685a47e765bade6203c9a6a41ea3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int MASK</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Maschera per abilitare i vari livelli di debug (definita in <a class="el" href="minesweeperclone_8cc.html" title="Modulo contenente principalmente la funzione main, la gestione degli eventi dei widgets utilizzati da...">minesweeperclone.cc</a>) </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generato Gio 3 Apr 2014 21:57:36 per Mine Sweeper Clone da &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.4
</small></address>
</body>
</html>
